博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动商城第十篇【商品审核和上下价】
阅读量:6455 次
发布时间:2019-06-23

本文共 6651 字,大约阅读时间需要 22 分钟。


tags: 移动商城项目


商品审核

接下来我们做的是商品审核的功能:

我们到修改url的地址,并且给出对应controller的方法

  • 商品审核
  • 复制代码

    查询出未审核的商品其实就是条件查询的一种,因此该controller的代码和列出商品的代码几乎一样。

    @RequestMapping("/listAudit.do")    public String listAudit(QueryCondition queryCondition,Model model) {                //查询出所有的品牌        List
    ebBrands = ebBrandService.selectBrand(); //如果是第一次访问的话,那么默认是没有当前页号的,因此赋值为1 if (queryCondition.getPageNo() == null) { queryCondition.setPageNo(1); } //得到分页数据 Page page = itemService.selectItemByCondition(queryCondition); model.addAttribute("page", page); model.addAttribute("ebBrands", ebBrands); //回显条件数据 model.addAttribute("queryCondition", queryCondition); return "item/listAudit"; }复制代码

    处理下边的url并且随着条件,样式发生改变:

    全部 待审核 审核不通过 已审核

    复制代码

    数据回显

    通过隐藏域拿到查询条件的值:

    复制代码

    通过判断隐藏域的值来改变我们的样式:

    $(document).ready(function () {            if ($("#auditStatus").val() == '0') {                $("#label1").attr("class", "here");            }            else if ($("#auditStatus").val() == 2) {                $("#label2").attr("class", "here");            }            else if ($("#auditStatus").val() == 1) {                $("#label3").attr("class", "here");            }            else $("#label4").attr("class", "here");        })复制代码

    查询条件以及回显:

    查询:

    --%> <%--模糊查询--%>

    复制代码

    根据审核条件的不同,在显示商品的url中也应该是不同的。

    • 只要在遍历的时候,判断对应的状态就行了。

    处理审核

    处理审核:使用JavaScript方法来进行控制,把item的Id传递进去和审核对应的值。

    通过
    不通过
    复制代码

    审核通过和不通过总会有理由的,对于我们的理由我们使用一张表来保存的。

    function isPass(itemId, auditStatus){            //修改浮动层的标题            $("#addItemNoteH2").html("商品审核");            //清空内容            $("#itemNote").val("");            tipShow("#addItemNote");            //给表单赋值            $("#itemId").val(itemId);            $("#myAuditStatus").val(auditStatus);        }复制代码

    使用表单来处理我们的操作。其中notes是我们弹出框的数据。

    • 我们使用一个表单就可以把不同方法中的数据集合在一起,我们只要把表单提交过去就行了!
    复制代码

    响应事件,给表单赋值,提交表单

    $("#addItemNoteConfirm").click(function(){                var notes = $("#itemNote").val();                //给表单赋值                $("#notes").val(notes);                //提交表单                $("#auditForm").submit();            });复制代码

    我们是使用EB_CONSOLE_LOG这张数据表来保存我们后台操作的日志记录的。

    表的字段如下:

    既然我们要操作到表,我们就得逆向工厂...

    设置主键为自动增长

    insert into EB_CONSOLE_LOG (CONSOLE_LOG_ID, ENTITY_NAME, ENTITY_ID, USER_ID, OP_TYPE, OP_TIME, NOTES, TABLE_NAME) values (seqconsolelogid.nextval, #{entityName,jdbcType=VARCHAR}, #{entityId,jdbcType=DECIMAL}, #{userId,jdbcType=DECIMAL}, #{opType,jdbcType=VARCHAR}, #{opTime,jdbcType=TIMESTAMP}, #{notes,jdbcType=VARCHAR}, #{tableName,jdbcType=VARCHAR})
    复制代码

    编写dao

    /** * 继承SqlSessionDaoSupport能够得到sessionFactory的引用,非常方便! */@Repositorypublic class EbConsoleLogDaoImpl extends SqlSessionDaoSupport implements EbConsoleLogDao {    String nameSpace = "com.rl.ecps.sqlMap.EbConsoleLogMapper.";    public void saveConsoleLog(EbConsoleLog ConsoleLog) {        this.getSqlSession().insert(nameSpace + "insert", ConsoleLog);    }}复制代码

    修改商品的属性,由于修改的状态个数是未知的,因此我们使用动态修改:

    public void updateItem(EbItem ebItem) {        this.getSqlSession().update(nameSpace + "updateByPrimaryKeySelective", ebItem);    }复制代码

    编写service

    public void updateItem(Long itemId, Short auditStatus, String notes) {                //设置item的属性        EbItem ebItem = new EbItem();        ebItem.setItemId(itemId);        ebItem.setAuditStatus(auditStatus);        ebItem.setCheckerUserId((long) 222);        ebItem.setCheckTime(new Date());                //更新item        itemDao.updateItem(ebItem);                //操作日志        EbConsoleLog ebConsoleLog = new EbConsoleLog();        ebConsoleLog.setEntityId(itemId);        ebConsoleLog.setEntityName("商品表");        ebConsoleLog.setNotes(notes);        ebConsoleLog.setOpTime(new Date());        if(auditStatus == 1){            ebConsoleLog.setOpType("审核通过");        }else{            ebConsoleLog.setOpType("审核不通过");        }        ebConsoleLog.setTableName("EB_ITEM");        ebConsoleLog.setUserId(1l);        logDao.saveConsoleLog(ebConsoleLog);    }复制代码

    controller

    @RequestMapping("/auditItem.do")    public String  auditItem(Long itemId, Short auditStatus, String notes) throws IOException {        itemService.updateItem(itemId, auditStatus, notes);        return "redirect:listAudit.do";    }复制代码

    把商品的状态修改了,并且已经把操作记录写到数据库表中了。

    上下价

    对于上下价和审核的逻辑基本是相同的...

    根据不同的状态给出不同的超链接:

    查看            
    编辑
    删除
    上架
    下架
    发布
    复制代码

    给表单赋值

    function isShow(itemId, showStatus) {            tipShow("#confirm");            //给表单赋值            $("#itemId").val(itemId);            $("#myShowStatus").val(showStatus);        }复制代码

    在弹出框中绑定提交事件,提交表单

    $("#confirmOk").click(function () {    $("#showForm").submit();});复制代码

    编写controller和service

    @RequestMapping("/showItem.do")    public String  showItem(Long itemId, Short showStatus) throws IOException {        itemService.showItem(itemId, showStatus);        return "redirect:listItem.do";    }复制代码
    public void showItem(Long itemId, Short showStatus) {        //设置item的属性        EbItem ebItem = new EbItem();        ebItem.setItemId(itemId);        ebItem.setShowStatus(showStatus);        ebItem.setCheckerUserId((long) 222);        ebItem.setCheckTime(new Date());        //更新item        itemDao.updateItem(ebItem);        //操作日志        EbConsoleLog ebConsoleLog = new EbConsoleLog();        ebConsoleLog.setEntityId(itemId);        ebConsoleLog.setEntityName("商品表");        ebConsoleLog.setOpTime(new Date());        if(showStatus == 1){            ebConsoleLog.setOpType("下架");        }else{            ebConsoleLog.setOpType("上架");        }        ebConsoleLog.setTableName("EB_ITEM");        ebConsoleLog.setUserId(1l);        logDao.saveConsoleLog(ebConsoleLog);    }复制代码

    #总结 #

    • 查看商品审核的数据本质上就是有条件地查询商品。与我们之前查询商品的逻辑代码是一样的

    • 对于数据回显来说,还是一样,如果属性是表单内的。我们就判断或者直接进行回显。如果是表单外的数据,我们就通过隐藏域获取该值。通过Jquery来进行控制回显。

    • 处理审核的时候,我们将审核的记录添加到数据库表中。要做到两个JavaScript方法共享数据:我们可以将数据使用form表单,表单内使用隐藏域。Jquery为隐藏域赋值就行了。最后提交表单

    • 商品的上下架和商品审核逻辑几乎一样

    如果您觉得这篇文章帮助到了您,可以给作者一点鼓励

    转载地址:http://gtfzo.baihongyu.com/

    你可能感兴趣的文章
    anaconda处理大数据_大数据的处理流程
    查看>>
    饲料码垛机器人技术方案_坐标机器人码垛机的技术和结构特点
    查看>>
    access查询成绩小于5分_CPA考生59分真相:成绩查询当天,他其实有一次通过的机会...
    查看>>
    asp手机拍照显示_手机 | 华为P50外形曝光:首次采居中挖孔、后摄类似Mate40
    查看>>
    风电场数据库_如何让风电场更友好、更智慧?
    查看>>
    全局 快捷键_让同事看呆的表格快捷键
    查看>>
    # 保持最外层获取焦点_PCB外层的蚀刻工艺,如何把控蚀刻质量
    查看>>
    华为如何生成日志_深入理解Kafka服务端之滚动生成新日志段的流程及条件
    查看>>
    各维度 特征 重要程度 随机森林_随机森林算法梳理
    查看>>
    手机悉昙体梵文输入法_梵文天城体字体及输入法
    查看>>
    qt编译实现简单的文本编译器有粘贴复制_QT示例之实现简易文本编辑器
    查看>>
    雷达的工作原理示意图_雷达测距原理.ppt
    查看>>
    优化器 示意图 神经网络_神经网络 优化器
    查看>>
    python爬虫请求头是什么意思_Pytho爬虫中Requests设置请求头Headers的方法
    查看>>
    gis导出栅格数据为什么不能tif_Arcgis 中栅格数据的属性表问题(转)
    查看>>
    springboot 热部署没用_SpringBoot实现热部署(修改java文件和html文件不需要重启)
    查看>>
    android android不同app获取的值不一样_Android世界:ContentProvider使用
    查看>>
    butterknife使用_面试系列:ButterKnife为什么执行效率为什么比其他注入框架高?它的原理是什么...
    查看>>
    mysql如何查询某周的数据库_MySQL SQL语句查询本天、本周、本月的数据
    查看>>
    mysql update 事物锁表_Mysql事务中Update是否会锁表?
    查看>>